#ifndef LIB_AX_SOLVE_RESULT_BASE_H
#define LIB_AX_SOLVE_RESULT_BASE_H
#include "libAcoustX/export.h"
#include "NDimsArray/NDimsArray.h"

namespace ax {
namespace res {
class AX_EXPORT Base
{
public:
	using sptr = std::shared_ptr<Base>;
	using csptr = std::shared_ptr<const Base>;

	Base();
	virtual ~Base();

	void setResData(std::shared_ptr<darr::DimsArray<double>> res_data);
	std::shared_ptr<darr::DimsArray<double>> getResData() const;

	void setBathyData(const std::vector<short>& bathy_data);
	std::vector<short> getBathyData() const;
	std::vector<double> getRangeData() const;
	std::vector<double> getDepthData() const;

	void setMinResValue(double min_val);
	double getMinResValue() const;
	void setMaxResValue(double max_val);
	double getMaxResValue() const;

protected:
	std::shared_ptr<darr::DimsArray<double>> mResData;
	std::vector<short> mBathyData;
	double mMinResValue; 
	double mMaxResValue;

private:

};

} // namespace res
} // namespace ax

#endif // !LIB_AX_SOLVE_RESULT_BASE_H
